home *** CD-ROM | disk | FTP | other *** search
- /* ---------------- Steuerdatei für ImageDesk ------------------- */
- /* */
- /* A U T O C A T */
- /* */
- /* AREXX-Script zur vollautomatisierten Steuerung von Katalogen */
- /* 1. Teil: */
- /* Ladescript für den Start */
- /* */
- /* von Ulrich Röcher, roecher@fts.uni-siegen.de */
- /* */
- /*----------------------------------------------------------------*/
-
- /* Die folgenden Optionen müssen vom User gesetzt werden: */
-
- CDIR="work:Kataloge/" /* CDIR: Einstiegsverzeichnis */
- CTYP="BMP" /* CTYP: Bildformat für Befehle */
- /* -------------------------------------------------------------- */
-
- OPTIONS RESULTS
-
- if( ADDRESS() ~= "IDESK_REXXPORT") then
- ADDRESS IDESK_REXXPORT
-
- CALL ADDLIB("rexxsupport.library",0,-30,0)
- if ~show('L', "rexxsupport.library")
- then do
- if ~addlib('rexxsupport.library',0,-30,0)
- then
- ERRORMSG '"Added rexxsupport.library"'
- else do
- ERRORMSG '"Rexxsupport.library not available, exiting..."'
- exit 10
- end
- end
-
- Lfd_Nr=0 /* seit letztem Verzeichniswechsel geladene Thumbnails */
- Akt_Kat=0 /* vom aktuellen Katalog geladene Bilder */
- Kat_Nam=" " /* Name des aktuell geladenen Katalogs */
- ADIR=CDIR
-
- dummy=setclip('CDIR',CDIR)
- dummy=setclip('ADIR',ADIR)
- dummy=setclip('CTYP',CTYP)
- dummy=setclip('AnzTN',"")
- dummy=setclip('Aktu',0)
-
-
- CLEANDESK
-
- /* Ermittlen des Grafik-Modus */
-
- GETSYSINFO GFXMODE
- graphics = RESULT
- dummy=setclip('GFX',graphics)
-
- /* Abschalten der Thumbnail-Sortierung */
- SETSPREFS THUMBSORT FALSE
-
- /* Ermitteln der Head-Dateien */
- x=1
- y=0
- ihvz=""
- do until x=0
- if y>0 then do
- wx=CHR(y)
- if pos("0",wx)=1 then wx=substr(wx,2,length(wx)-1)
- erg="."||wx
- end
- else do
- erg=""
- end
- name="Head.cat"||erg
- name1=CDIR||name
- if exists(name1) then do
- if ihvz~="" then ihvz=ihvz||" "
- ihvz=ihvz||name
- x=1
- end
- else do
- x=0
- end
- y=y+1
- end
-
- name=ADIR||Word(ihvz,1)
- OPENCAT name 1 1
- GETTPREFS TSIZE
- THGR = RESULT
- select
- when THGR="SMALL" then do
- Command=Command.cat.6
- end
- when THGR="STD" Then do
- Command=Command.cat.8
- end
- when THGR="BIG" Then do
- Command=Command.cat.10
- end
- when THGR="HUGE" Then do
- Command=Command.cat.12
- end
- when THGR="XLARGE" Then do
- Command=Command.cat.15
- end
- end
-
- GETSYSINFO DESKSPACE
- MAXENTRY = RESULT
-
- dummy=setclip('Command',Command)
- dummy=setclip('ihvz',ihvz)
- dummy=setclip('MAXENTRY',MAXENTRY)
-
- SETSPREFS DEFACTION "REX"
- SETSPREFS DEFAREXX "rexx/AUTOCAT2.IDesk"
- SETSPREFS PRINTCOMMAND "FALSE"
-
- Aktu=1 /* Aktu: Nummer des aktuell zu ladenden Katalogs */
- Lfd_Nr=1
- temp=1
- Start=2
- AnzTN='' /* AnzTN: Zeichenkette enthält Anzahl der TNs der Katas. */
- AnzKats= words(ihvz)
- DO until (Aktu=AnzKats+1) && (Lfd_Nr=(MAXENTRY-1))
- name=ADIR||Word(ihvz,Aktu)
- OPENCAT name Start (MAXENTRY-1-Lfd_Nr)
- GETSYSINFO THUMBSUSED
- Lfd_Nr = RESULT
- kat=Lfd_Nr-temp
- tempx=CHR(kat)
- if AnzTN="" then do
- AnzTN=CHR(kat)
- end
- else do
- AnzTN=AnzTN||"-"||CHR(kat)
- end
- temp=Lfd_Nr
- Start=1
- Aktu=Aktu+1
- end
- if Lfd_Nr=MAXENTRY-1 then OPENCAT CDIR||Command 3 1
- dummy=setclip('Aktu',Aktu-1)
- AnzTN=strip(AnzTN)
- dummy=setclip('AnzTN',AnzTN)
-
- exit
-
-
- CHR: PROCEDURE
- /* wandelt Zahlen in Zeichenketten um */
- parse arg zahl
-
- Wert=''
- DO until zahl<10
- zw=Zahl//10
- Zahl=Zahl%10
- ch=d2c(zw+48)
- Wert=ch||Wert
- end
- ch=d2c(Zahl+48)
- wert=ch||Wert
- Return Wert
-
-